// immediately invoke function expression
// 只暴露想暴露的方法，
// 不污染全局变量
var mod1 = (function() {
	var dx = 10;
	function addByTen(num) {
		return num + dx;
	}
	return {
		addByTen: addByTen
	}
})();


// 放大模式:给module添加一个功能
// mod2 build on mod1
var mod2 = (function(preMod) {
	preMod.addByOne = function(num) {
		return num + 1;
	}
	return preMod;
})(mod1);

console.log(mod2.addByOne(9));